package com.sheng.leetcode.year2023.month12.day20;

import org.junit.Test;

import java.util.Arrays;
import java.util.List;

/**
 * @author by ls
 * @date 2023/12/20
 * <p>
 * 2828. 判别首字母缩略词<p>
 * <p>
 * 给你一个字符串数组 words 和一个字符串 s ，请你判断 s 是不是 words 的 首字母缩略词 。<p>
 * 如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s ，则认为 s 是 words 的首字母缩略词。<p>
 * 例如，"ab" 可以由 ["apple", "banana"] 形成，但是无法从 ["bear", "aardvark"] 形成。<p>
 * 如果 s 是 words 的首字母缩略词，返回 true ；否则，返回 false 。<p>
 * <p>
 * 示例 1：<p>
 * 输入：words = ["alice","bob","charlie"], s = "abc"<p>
 * 输出：true<p>
 * 解释：words 中 "alice"、"bob" 和 "charlie" 的第一个字符分别是 'a'、'b' 和 'c'。因此，s = "abc" 是首字母缩略词。<p>
 * <p>
 * 示例 2：<p>
 * 输入：words = ["an","apple"], s = "a"<p>
 * 输出：false<p>
 * 解释：words 中 "an" 和 "apple" 的第一个字符分别是 'a' 和 'a'。<p>
 * 串联这些字符形成的首字母缩略词是 "aa" 。<p>
 * 因此，s = "a" 不是首字母缩略词。<p>
 * <p>
 * 示例 3：<p>
 * 输入：words = ["never","gonna","give","up","on","you"], s = "ngguoy"<p>
 * 输出：true<p>
 * 解释：串联数组 words 中每个字符串的第一个字符，得到字符串 "ngguoy" 。<p>
 * 因此，s = "ngguoy" 是首字母缩略词。<p>
 * <p>
 * 提示：<p>
 * 1 <= words.length <= 100<p>
 * 1 <= words[i].length <= 10<p>
 * 1 <= s.length <= 100<p>
 * words[i] 和 s 由小写英文字母组成<p>
 */
public class LeetCode2828 {

    @Test
    public void test01() {
//        List<String> words = Arrays.asList("alice", "bob", "charlie");
//        String s = "abc";
//        List<String> words = Arrays.asList("an", "apple");
//        String s = "a";
        List<String> words = Arrays.asList("never", "gonna", "give", "up", "on", "you");
        String s = "ngguoy";
        System.out.println(new Solution().isAcronym(words, s));
    }
}

class Solution {
    public boolean isAcronym(List<String> words, String s) {
        int n = words.size();
        if (n != s.length()) {
            return false;
        }
        for (int i = 0; i < n; i++) {
            if (words.get(i).charAt(0) != s.charAt(i)) {
                return false;
            }
        }
        return true;
    }
}
